package com.ubxtech.web.annotation;

import java.lang.annotation.*;

/**
 * 是否要加密
 * @author Victor.Xiao
 * @since 2022-06-22 15:45
 **/
@Target({ ElementType.METHOD,ElementType.FIELD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ResponseEncrypt {
    /**
     * 标记controller方法和类,只有AES和SM4,如果为空,则默认EncryptEnum.AES
     * 如果标记字段则默认是custom_rule，在CUSTOM_RULE的时候，startInclude和endExclude生效
     */
    EncryptEnum type() default EncryptEnum.CUSTOM_RULE;

    /**
     * 脱敏开始位置（包含）
     */
    int startInclude() default 0;

    /**
     * 脱敏结束位置（不包含）
     */
    int endExclude() default 0;
}
